Systems and methods for utilizing machine learning and natural language processing to provide a dual-panel user interface

ABSTRACT

A device receives provides content to a client device via a dual-panel user interface that includes a first panel and a second panel. The device receives, from the client device, information indicating a user interaction, and processes the information, with a first model, to determine a question based on the user interaction. The device utilizes natural language processing with the question to determine an intent of the question, and processes the intent of the question, with a second model, to map the intent of the question to a content answer to the question. The device adds additional user information, associated with a user of the client device, to the content answer to generate a personalized content response, and updates the first panel with the personalized content response to generate an updated first panel. The device provides the updated first panel, via the dual-panel user interface, to the client device.

BACKGROUND

In a conventional web page application, a web browser of a client devicerequests web pages (e.g., of the web page application) from a contentserver, and the content server provides hypertext markup language (HTML)which renders the web pages in the browser of the client device. A userof the client device may navigate from one web page to another web pagebased on links provided in the one web page.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1J are diagrams of one or more example implementationsdescribed herein.

FIG. 2 is a diagram of an example environment in which systems and/ormethods described herein may be implemented.

FIG. 3 is a diagram of example components of one or more devices of FIG.2.

FIG. 4 is a flow chart of an example process for utilizing machinelearning and natural language processing to provide a dual-panel userinterface.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

A user of a web page application (e.g., a browser) may navigate webpages to purchase a product or a service. If the user has questionsrelated to the product or the service, which cannot be answered from theweb pages, the user may place a call to a call support center associatedwith the web pages. However, this results in a high call volume to thecall support center, which wastes computing resources (e.g., processingresources, memory resources, and/or the like), networking resources,and/or the like. Furthermore, prior to placing a call to the callsupport center, the user may spend an inordinate amount of timesearching for answers to questions on the web pages, which wastescomputing resources, networking resources, and/or the like.

A chatbot may be utilized to attempt to prevent calls to the callsupport center. The chatbot may receive questions from the user of abrowser or the web pages (e.g., about the product or the service) andmay provide answers to the questions. However, a chatbot interfaceconsumes space on a web page that overlays and obscures informationdisplayed by the web page. This makes user interaction with the web pagedifficult and results in a high call volume to the call support center,which wastes computing resources, networking resources, and/or the like.

Some implementations described herein provide a content platform thatutilizes machine learning and natural language processing to provide adual-panel user interface. For example, the content platform mayreceive, from a client device, a request for content, and may providethe content to the client device based on the request and via adual-panel user interface that includes a first panel to display thecontent and a second panel to display a text conversation. The contentplatform may receive, from the client device, information indicating auser interaction with the first panel or the second panel, and mayprocess the information indicating the user interaction, with a firstmachine learning model, to determine a request (e.g., a question) basedon the user interaction. The content platform may process the question,with a natural language processing model, to determine a specific intentof the question, and may process the specific intent of the question,with a second machine learning model, to map the specific intent of thequestion to a response (e.g., a text answer) to the question. Thecontent platform may add additional user information, associated with auser of the client device, to the text answer to generate a personalizedtext response to the question, and may update the second panel with thepersonalized text response to generate an updated second panel, wherethe first panel and the updated second panel may form an updateddual-panel user interface. The content platform may provide the updateddual-panel user interface to the client device.

In this way, the content platform provides a dual-panel user interfacethat includes a first panel for displaying content and a second panelfor displaying conversational text that does not overlay and obscure thedisplay of the first panel. The dual-panel user interface enables usersto receive answers to questions associated with the content. Thus, thecontent platform may prevent calls to call support centers, whichconserves computing resources (e.g., processing resources, memoryresources, and/or the like), networking resources, and/or the like thatwould otherwise be wasted in answering questions associated with theuser interface via the call support centers. The content platform alsoprevents wasting computing resources, networking resources, and/or thelike associated with unsuccessfully attempting to determine answers toquestions via web pages of a web site.

FIGS. 1A-1J are diagrams of one or more example implementations 100described herein. As shown in FIG. 1A, a client device 105 may beassociated with a content platform 110. In some implementations, a userof client device 105 may utilize client device 105 to access content(e.g., web pages) provided by content platform 110. The web pages mayinclude content associated with one or more products, one or moreservices, a combination of one or more products and one or moreservices, and/or the like.

As further shown in FIG. 1A, and by reference number 115, contentplatform 110 may receive, from client device 105, a request for content.In some implementations, the user of client device 105 may utilizeclient device 105 to generate the request for the content (e.g., a webpage associated with a web site). For example, the user may input auniform resource locator (URL) associated with the web site into abrowser application of client device 105, and client device 105 maygenerate the request for the content based on the URL.

As further shown in FIG. 1A, and by reference number 120, contentplatform 110 may provide the content to client device 105 based on therequest and via a dual-panel user interface. In some implementations,content platform 110 may generate the dual-panel user interface based onthe request, and may provide the dual-panel user interface to clientdevice 105. In some implementations, the request for the content mayinclude information indicating that the user of client device 105desires to be guided (e.g., has questions about the content), andcontent platform 110 may generate the dual-panel user interface based onthe information indicating that the user of client device 105 desires tobe guided. In some implementations, the request for the content mayinclude a query provided by the user of client device 105, and contentplatform 110 may generate the dual-panel user interface based on thequery provided by the user of client device 105.

Client device 105 may receive the content provided via the dual-paneluser interface and may display the dual-panel user interface to the userof client device 105. In some implementations, the dual-panel userinterface may include a first panel (e.g., a content panel) thatdisplays the content (e.g., information associated with smartphones) anda second panel (e.g., a conversation panel) that displays a textconversation. In some implementations, the conversation panel maydisplay textual conversations (e.g., questions and answers) between achatbot (e.g., associated with content platform 110) and the user ofclient device 105. In some implementations, the conversation panel maybe sized and arranged so that the conversation panel does not overlayand obscure the content displayed in the content panel. In someimplementations, the content panel may be designed to permit the user ofclient device 105 to interact with the content panel (e.g., viagestures, inputs, and/or the like), and the conversation panel may bedesigned to permit the user of client device 105 to provide queries viathe conversation panel.

In this way, the dual-panel user interface may enable the user of clientdevice 105 to ask questions and receive answers to the questions withoutthe content displayed in the content panel being obscured.

As shown in FIG. 1B, and by reference number 125, content platform 110may receive, from client device 105, information indicating a userinteraction with the content panel or the conversation. In someimplementations, the user interaction may include the user of clientdevice 105 interacting with the content panel via a gesture (e.g.,swipe, a tap, and/or the like), the user of client device 105interacting with the content panel via an input component of clientdevice 105 (e.g., selecting a link, selecting an icon, selecting adropdown menu, and/or the like), the user of client device 105 providinga voice input via the content panel, the user of client device 105interacting with the conversation panel via a gesture, the user ofclient device 105 inputting a query via the conversation panel, the userof client device 105 providing a voice input via the conversation panel,and/or the like. For example, the user of client device 105 may select,via the content panel, a dropdown menu associated with prices, brands,carriers, and/or the like of the smartphones and may select an option tosort a display of the smartphones by prices, brands, carriers, and/orthe like. In another example, the user of client device 105 may input,via the conversation panel, a question regarding prices, brands,carriers, and/or the like of the smartphones.

As shown in FIG. 1C, and by reference number 130, content platform 110may process the information indicating the user interaction with thecontent panel or the conversation panel, with a machine learning model,to determine a question based on the user interaction. In someimplementations, the machine learning model may be trained to predict aquestion based on the user interaction with the content panel or theconversation panel. For example, content platform 110 may train themachine learning model to predict a question based on the userinteraction with the content panel or the conversation panel.

In some implementations, content platform 110 may train the machinelearning model, with historical information indicating userinteractions, to identify questions indicated by the user interactions.For example, content platform 110 may separate the historicalinformation indicating user interactions into a training set, avalidation set, a test set, and/or the like. The training set may beutilized to train the machine learning model. The validation set may beutilized to validate results of the trained machine learning model. Thetest set may be utilized to test operation of the machine learningmodel.

In some implementations, content platform 110 may train the machinelearning model using, for example, an unsupervised training procedureand based on the historical information indicating user interactions.For example, content platform 110 may perform dimensionality reductionto reduce the historical information to a minimum feature set, therebyreducing resources (e.g., processing resources, memory resources, and/orthe like) to train the machine learning model, and may apply aclassification technique to the minimum feature set.

In some implementations, content platform 110 may use a logisticregression classification technique to determine a categorical outcome(e.g., that particular historical information indicates particularquestions). Additionally, or alternatively, content platform 110 may usea naïve Bayesian classifier technique. In this case, content platform110 may perform binary recursive partitioning to split the historicalinformation indicating user interactions into partitions and/or branchesand use the partitions and/or branches to determine outcomes (e.g., thatparticular historical information indicates particular questions). Basedon using recursive partitioning, content platform 110 may reduceutilization of computing resources relative to manual, linear sortingand analysis of data points, thereby enabling use of thousands,millions, or billions of data points to train the machine learningmodel, which may result in a more accurate model than using fewer datapoints.

Additionally, or alternatively, content platform 110 may use a supportvector machine (SVM) classifier technique to generate a non-linearboundary between data points in the training set. In this case, thenon-linear boundary is used to classify test data into a particularclass.

Additionally, or alternatively, content platform 110 may train themachine learning model using a supervised training procedure thatincludes receiving input to the machine learning model from a subjectmatter expert, which may reduce an amount of time, an amount ofprocessing resources, and/or the like to train the machine learningmodel relative to an unsupervised training procedure. In someimplementations, content platform 110 may use one or more other modeltraining techniques, such as a neural network technique, a latentsemantic indexing technique, and/or the like. For example, contentplatform 110 may perform an artificial neural network processingtechnique (e.g., using a two-layer feedforward neural networkarchitecture, a three-layer feedforward neural network architecture,and/or the like) to perform pattern recognition with regard to patternsof the historical information indicating user interactions. In thiscase, using the artificial neural network processing technique mayimprove an accuracy of the trained machine learning model generated bycontent platform 110 by being more robust to noisy, imprecise, orincomplete data, and by enabling content platform 110 to detect patternsand/or trends undetectable to human analysts or systems using lesscomplex techniques.

As shown in FIG. 1D, and by reference number 135, content platform 110may utilize natural language processing with the question to determine aspecific intent of the question. For example, a question (e.g., “can yousort products by price in ascending order?”) may include a specificintent (e.g., “sorting products by price in ascending order”), such thata product with a smallest price may be listed first, a product with anext smallest price may be listed second, and/or the like. Naturallanguage processing may include a science of extracting an intent oftext (e.g., a question). An intent may include an intention of anend-user that is conveyed by the end-user to a chatbot, such as, forexample, a casual intent, a business intent, and/or the like. A casualintent may include an opening or a closing of a conversation (e.g.,greetings such as “hi,” “hello,” “hola,” “ciao,” “bye,” and/or thelike). A casual intent may direct a chatbot to respond with a reply suchas “hello, what can I do for you today” or “bye, thanks for talking tome.” A casual intent may also include affirmative and negative intentsfor utterances (e.g., “ok,” “yes please,” “no not this one but the firstone,” “nope,” and/or the like). A business intent may include an intentthat directly maps to a business associated with a chatbot. For example,if the chatbot is associated with movie information, then an utterancefrom user (e.g., “when was this movie released?”) may be a businessintent that intends to determine a release year of the movie.

In some implementations, content platform 110 may utilize a naturallanguage processing model or technique, a computational linguisticstechnique, a text analysis technique, and/or the like, with the questionin order to determine the specific intent of the question. For example,content platform 110 may apply natural language processing to interpretthe question and generate additional information associated with thepotential meaning of information within the question. Natural languageprocessing involves techniques performed (e.g., by a computer system) toanalyze, understand, and derive meaning from human language in a usefulway. Rather than treating text like a mere sequence of symbols, naturallanguage processing considers a hierarchical structure of language(e.g., several words can be treated as a phrase, several phrases can betreated as a sentence, and the words, phrases, and/or sentences conveyideas that can be interpreted). Natural language processing can beapplied to analyze text, allowing machines to understand how humansspeak, enabling real world applications such as automatic textsummarization, sentiment analysis, topic extraction, named entityrecognition, parts-of-speech tagging, relationship extraction, stemming,and/or the like.

As shown in FIG. 1E, and by reference number 140, content platform 110may process the specific intent of the question, with a machine learningmodel, to map the specific intent to a content answer and/or a textanswer. In some implementations, the content answer may include atemplate content answer in an HTML (e.g., web page) format (e.g., fordisplay in the content panel), and the text answer may include atemplate text answer in a textual format (e.g., for display in theconversation panel). In some implementations, content platform 110 maydetermine multiple template content answers for multiple intents. Insuch implementations, the machine learning model may identify thespecific intent in the multiple intents, and may determine the contentanswer, from the multiple template content answers, that correspondswith the specific intent. In some implementations, content platform 110may determine multiple template text answers for the multiple intents.In such implementations, the machine learning model may identify thespecific intent in the multiple intents, and may determine the textanswer, from the multiple template text answers, that corresponds withthe specific intent.

In some implementations, the machine learning model may be trained tomap a specific intent to a content answer and/or a text answer. Forexample, content platform 110 may train the machine learning model tomap a specific intent to a content answer and/or a text answer. Themachine learning model may be trained as described above in connectionwith FIG. 1C.

As shown in FIG. 1F, and by reference number 145, content platform 110may provide action classes in placeholders associated with the contentanswer and the text answer to generate a modified content answer and amodified text answer. In some implementations, the content answer (e.g.,a template content answer) and the text answer (e.g., a template textanswer) may include placeholders for receiving the action classes. Anaction class may act as a wrapper around logic and may provide aninterface for receiving information. An action class may work as anadapter between content of an incoming request and logic thatcorresponds to the incoming request.

As shown in FIG. 1G, and by reference number 150, content platform 110may add additional user information to the modified content answer andthe modified text answer, via the action classes, to generate apersonalized content response and a personalized text response. In someimplementations, the additional user information may include informationassociated with the user of client device 105 and may be received fromone or more other systems (e.g., point-of-sale (POS) systems, a billingsystem, a financial institution system, a user profile system, and/orthe like). For example, the additional user information may includeinformation identifying a name of the user, an account of the user, acurrent product and/or service utilized by the user, and/or the like.The action classes included in the modified content answer may enablecontent platform 110 to add the additional user information in themodified content answer and to personalize the modified content answer(e.g., to generate the personalized content response). The actionclasses included in the modified text answer may enable content platform110 to add the additional user information in the modified text answerand to personalize the modified text answer (e.g., to generate thepersonalized text response).

As shown in FIG. 1H, and by reference number 155, content platform 110may update the content panel with the personalized content response andmay update the conversation panel with the personalized text response togenerate an updated content panel and an updated conversation panel. Insome implementations, the updated content panel and the updatedconversation panel may form an updated dual-panel user interface. Insome implementations, content platform 110 may determine the contentanswer or the text answer based on the specific intent, and may generatethe personalized content response or the personalized text response, asdescribed above. In such implementations, content platform 110 mayupdate the content panel with the personalized content response togenerate the updated content panel or may update the conversation panelwith the personalized text response to generate the updated conversationpanel. The updated content panel and/or the updated conversation panelmay be utilized to form the updated dual-panel user interface.

As shown in FIG. 1I, and by reference number 160, content platform 110may provide, to client device 105, the updated content panel and theupdated conversation panel (e.g., the updated dual-panel userinterface). In some implementations, the updated dual-panel userinterface may include the updated content panel and/or the updatedconversation panel. Client device 105 may receive the updated dual-paneluser interface and may display the updated dual-panel user interface tothe user of client device 105. For example, as further shown in FIG. 1I,the updated content panel may arrange images of the smartphones by pricein ascending order, and the updated conversation panel may include ananswer listing the smartphones by price in ascending order.

As shown in FIG. 1J, the updated dual-panel user interface may includean interactive content panel (e.g., the updated content panel) and a botconversational panel (e.g., the updated conversation panel). Theinteractive content panel may display information associated withsmartphones, such as currently owned smartphones, upgrade smartphones,and/or the like. The bot conversational panel may display informationassociated with a conversation between the user of client device 105 anda chatbot provided by content platform 110.

In some implementations, content platform 110 may receive, from clientdevice 105, a request to speak with a live person, and may connectclient device 105 and another client device 105 associated with the liveperson, via a call, based on the request to speak with the live person.Content platform 110 may provide, to the other client device 105associated with the live person, information received via the contentpanel and the conversation panel of the dual-panel user interface.

In some implementations, the user of client device 105 may view datausage web pages of a web site, and content platform 110 may prompt aquery regarding whether the user needs help in choosing a data plan. Ifthe user elects to be guided, content platform 110 may provide thedual-panel user interface to client device 105. Data plans suited forthe user may be displayed in the content panel. As the user selects adata plan, details, features, and/or pricing may be displayed for theuser to compare an existing plan and a proposed plan. The conversationpanel may aid the user in completing the task of selecting a data planvia a call center environment conversation.

In some implementations, the user of client device 105 may view a website to determine whether a phone line is eligible for a phone upgrade.Content platform 110 may transition the user to the dual-panel userinterface and may provide for display of new phones based on a purchasehistory of the user. The user may select one of the new phones but maynot share credit card information with the chatbot. The chatbot mayquery whether the user would like to be transferred to a live agent. Thechatbot and the user conversation history may be made available to thelive agent and the live agent may complete the transaction.

In some implementations, content platform 110 may create a call centerenvironment conversation that solves all types of user concerns on asingle user interface. Content platform 110 may render rich mediainteractive widgets on multiple devices and/or platforms and may createintelligent and complex conversational flows to solve user queries.

In this way, several different stages of the process for providing adual-panel user interface are automated via machine learning and naturallanguage processing, which may remove human subjectivity and waste fromthe process, and which may improve speed and efficiency of the processand conserve computing resources (e.g., processing resources, memoryresources, and/or the like), networking resources, and/or the like.Furthermore, implementations described herein use a rigorous,computerized process to perform tasks or roles that were not previouslyperformed or were previously performed using subjective human intuitionor input. For example, currently there does not exist a technique thatutilizes machine learning and natural language processing to provide adual-panel user interface. Finally, the process for providing adual-panel user interface conserves computing resources (e.g.,processing resources, memory resources, and/or the like), networkingresources, and/or the like that would otherwise be wasted in attemptingto obtain answers to questions via a web page and/or a call supportcenter.

As indicated above, FIGS. 1A-1J are provided merely as examples. Otherexamples may differ from what was described with regard to FIGS. 1A-1J.The number and arrangement of devices and networks shown in FIGS. 1A-1Jare provided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIGS. 1A-1J. Furthermore, two or more devices shown in FIGS.1A-1J may be implemented within a single device, or a single deviceshown in FIGS. 1A-1J may be implemented as multiple, distributeddevices. Additionally, or alternatively, a set of devices (e.g., one ormore devices) of FIGS. 1A-1J may perform one or more functions describedas being performed by another set of devices of FIGS. 1A-1J.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods described herein may be implemented. As shown in FIG. 2,environment 200 may include client device 105, a content platform 110,and a network 230. Devices of environment 200 may interconnect via wiredconnections, wireless connections, or a combination of wired andwireless connections.

Client device 105 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information, such asinformation described herein. For example, client device 105 may includea mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptopcomputer, a tablet computer, a desktop computer, a handheld computer, agaming device, a wearable communication device (e.g., a smart watch, apair of smart glasses, a heart rate monitor, a fitness tracker, smartclothing, smart jewelry, a head mounted display, etc.), or a similartype of device. In some implementations, client device 105 may receiveinformation from and/or transmit information to content platform 110.

Content platform 110 includes one or more devices that utilize machinelearning and natural language processing to provide a dual-panel userinterface. In some implementations, content platform 110 may be designedto be modular such that certain software components may be swapped in orout depending on a particular need. As such, content platform 110 may beeasily and/or quickly reconfigured for different uses. In someimplementations, content platform 110 may receive information fromand/or transmit information to one or more client devices 105.

In some implementations, as shown, content platform 110 may be hosted ina cloud computing environment 210. Notably, while implementationsdescribed herein describe content platform 110 as being hosted in cloudcomputing environment 210, in some implementations, content platform 110may not be cloud-based (i.e., may be implemented outside of a cloudcomputing environment) or may be partially cloud-based.

Cloud computing environment 210 includes an environment that hostscontent platform 110. Cloud computing environment 210 may providecomputation, software, data access, storage, etc., services that do notrequire end-user knowledge of a physical location and configuration ofsystem(s) and/or device(s) that hosts content platform 110. As shown,cloud computing environment 210 may include a group of computingresources 220 (referred to collectively as “computing resources 220” andindividually as “computing resource 220”).

Computing resource 220 includes one or more personal computers,workstation computers, mainframe devices, or other types of computationand/or communication devices. In some implementations, computingresource 220 may host content platform 110. The cloud resources mayinclude compute instances executing in computing resource 220, storagedevices provided in computing resource 220, data transfer devicesprovided by computing resource 220, etc. In some implementations,computing resource 220 may communicate with other computing resources220 via wired connections, wireless connections, or a combination ofwired and wireless connections.

As further shown in FIG. 2, computing resource 220 includes a group ofcloud resources, such as one or more applications (“APPs”) 220-1, one ormore virtual machines (“VMs”) 220-2, virtualized storage (“VSs”) 220-3,one or more hypervisors (“HYPs”) 220-4, and/or the like.

Application 220-1 includes one or more software applications that may beprovided to or accessed by client device 105. Application 220-1 mayeliminate a need to install and execute the software applications onclient device 105. For example, application 220-1 may include softwareassociated with content platform 110 and/or any other software capableof being provided via cloud computing environment 210. In someimplementations, one application 220-1 may send/receive informationto/from one or more other applications 220-1, via virtual machine 220-2.

Virtual machine 220-2 includes a software implementation of a machine(e.g., a computer) that executes programs like a physical machine.Virtual machine 220-2 may be either a system virtual machine or aprocess virtual machine, depending upon use and degree of correspondenceto any real machine by virtual machine 220-2. A system virtual machinemay provide a complete system platform that supports execution of acomplete operating system (“OS”). A process virtual machine may executea single program and may support a single process. In someimplementations, virtual machine 220-2 may execute on behalf of a user(e.g., a user of client device 105 or an operator of content platform110), and may manage infrastructure of cloud computing environment 210,such as data management, synchronization, or long-duration datatransfers.

Virtualized storage 220-3 includes one or more storage systems and/orone or more devices that use virtualization techniques within thestorage systems or devices of computing resource 220. In someimplementations, within the context of a storage system, types ofvirtualizations may include block virtualization and filevirtualization. Block virtualization may refer to abstraction (orseparation) of logical storage from physical storage so that the storagesystem may be accessed without regard to physical storage orheterogeneous structure. The separation may permit administrators of thestorage system flexibility in how the administrators manage storage forend users. File virtualization may eliminate dependencies between dataaccessed at a file level and a location where files are physicallystored. This may enable optimization of storage use, serverconsolidation, and/or performance of non-disruptive file migrations.

Hypervisor 220-4 may provide hardware virtualization techniques thatallow multiple operating systems (e.g., “guest operating systems”) toexecute concurrently on a host computer, such as computing resource 220.Hypervisor 220-4 may present a virtual operating platform to the guestoperating systems and may manage the execution of the guest operatingsystems. Multiple instances of a variety of operating systems may sharevirtualized hardware resources.

Network 230 includes one or more wired and/or wireless networks. Forexample, network 230 may include a cellular network (e.g., a fifthgeneration (5G) network, a long-term evolution (LTE) network, a thirdgeneration (3G) network, a code division multiple access (CDMA) network,etc.), a public land mobile network (PLMN), a local area network (LAN),a wide area network (WAN), a metropolitan area network (MAN), atelephone network (e.g., the Public Switched Telephone Network (PSTN)),a private network, an ad hoc network, an intranet, the Internet, a fiberoptic-based network, and/or the like, and/or a combination of these orother types of networks.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to client device 105, content platform 110, and/orcomputing resource 220. In some implementations, client device 105,content platform 110, and/or computing resource 220 may include one ormore devices 300 and/or one or more components of device 300. As shownin FIG. 3, device 300 may include a bus 310, a processor 320, a memory330, a storage component 340, an input component 350, an outputcomponent 360, and a communication interface 370.

Bus 310 includes a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320 is acentral processing unit (CPU), a graphics processing unit (GPU), anaccelerated processing unit (APU), a microprocessor, a microcontroller,a digital signal processor (DSP), a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), or anothertype of processing component. In some implementations, processor 320includes one or more processors capable of being programmed to perform afunction. Memory 330 includes a random-access memory (RAM), a read onlymemory (ROM), and/or another type of dynamic or static storage device(e.g., a flash memory, a magnetic memory, and/or an optical memory) thatstores information and/or instructions for use by processor 320.

Storage component 340 stores information and/or software related to theoperation and use of device 300. For example, storage component 340 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, and/or a solid-state disk), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 350 includes a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, and/or amicrophone). Additionally, or alternatively, input component 350 mayinclude a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, and/or anactuator). Output component 360 includes a component that providesoutput information from device 300 (e.g., a display, a speaker, and/orone or more light-emitting diodes (LEDs)).

Communication interface 370 includes a transceiver-like component (e.g.,a transceiver and/or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wiredconnection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a cellular network interface,and/or the like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes based on processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for utilizing machinelearning and natural language processing to provide a dual-panel userinterface. In some implementations, one or more process blocks of FIG. 4may be performed by a content platform (e.g., content platform 110). Insome implementations, one or more process blocks of FIG. 4 may beperformed by another device or a group of devices separate from orincluding the content platform, such as a client device (e.g., clientdevice 105).

As shown in FIG. 4, process 400 may include receiving, from a clientdevice, a request for content (block 410). For example, the contentplatform (e.g., using computing resource 220, processor 320,communication interface 370, and/or the like) may receive, from a clientdevice, a request for content, as described above in connection withFIGS. 1A-3.

In some implementations, the first panel may display informationassociated with at least one of one or more products or one or moreservices, and the second panel may display textual conversations betweena chatbot and the user of the client device. The first panel of thedual-panel user interface may be designed to permit the user of theclient device to interact with the first panel of the dual-panel userinterface, and the second panel of the dual-panel user interface may bedesigned to permit the user of the client device to provide queries viathe second panel of the dual-panel user interface.

In some implementations, when the request for the content includesinformation indicating that the user of the client device desires to beguided, the content platform may generate the dual-panel user interfacebased on the information indicating that the user of the client devicedesires to be guided. In some implementations, when the request for thecontent includes a query provided by the user of the client device, thecontent platform may generate the dual-panel user interface based on thequery provided by the user of the client device.

As further shown in FIG. 4, process 400 may include providing thecontent to the client device based on the request and via a dual-paneluser interface, wherein the dual-panel user interface includes a firstpanel to display the content, and a second panel to display a textconversation (block 420). For example, the content platform (e.g., usingcomputing resource 220, processor 320, memory 330, communicationinterface 370, and/or the like) may provide the content to the clientdevice based on the request and via a dual-panel user interface, asdescribed above in connection with FIGS. 1A-3. In some implementations,the dual-panel user interface may include a first panel to display thecontent and a second panel to display a text conversation.

As further shown in FIG. 4, process 400 may include receiving, from theclient device, information indicating a user interaction with the firstpanel or the second panel (block 430). For example, the content platform(e.g., using computing resource 220, processor 320, communicationinterface 370, and/or the like) may receive, from the client device,information indicating a user interaction with the first panel or thesecond panel, as described above in connection with FIGS. 1A-3.

In some implementations, the user interaction includes one or more ofthe user of the client device interacting with the first panel via afirst gesture, the user of the client device interacting with the firstpanel via an input component of the client device, the user of theclient device providing a first voice input via the first panel, theuser of the client device interacting with the second panel via a secondgesture, the user of the client device inputting a query via the secondpanel, the user of the client device providing a second voice input viathe second panel, and/or the like.

As further shown in FIG. 4, process 400 may include processing theinformation indicating the user interaction, with a first machinelearning model, to determine a question based on the user interaction(block 440). For example, the content platform (e.g., using computingresource 220, processor 320, memory 330, and/or the like) may processthe information indicating the user interaction, with a first machinelearning model, to determine a question based on the user interaction,as described above in connection with FIGS. 1A-3.

As further shown in FIG. 4, process 400 may include utilizing naturallanguage processing with the question to determine a specific intent ofthe question (block 450). For example, the content platform (e.g., usingcomputing resource 220, processor 320, storage component 340, and/or thelike) may utilize natural language processing with the question todetermine a specific intent of the question, as described above inconnection with FIGS. 1A-3.

As further shown in FIG. 4, process 400 may include processing thespecific intent of the question, with a second machine learning model,to map the specific intent of the question to a content answer to thequestion (block 460). For example, the content platform (e.g., usingcomputing resource 220, processor 320, memory 330, and/or the like) mayprocess the specific intent of the question, with a second machinelearning model, to map the specific intent of the question to a contentanswer to the question, as described above in connection with FIGS.1A-3.

As further shown in FIG. 4, process 400 may include adding additionaluser information, associated with a user of the client device andreceived from one or more other systems, to the content answer togenerate a personalized content response to the question (block 470).For example, the content platform (e.g., using computing resource 220,processor 320, storage component 340, communication interface 370,and/or the like) may add additional user information, associated with auser of the client device and received from one or more other systems,to the content answer to generate a personalized content response to thequestion, as described above in connection with FIGS. 1A-3.

In some implementations, the content platform may provide action classesin placeholders associated with the content answer to generate amodified content answer, and may add the additional user information tothe modified content answer, via the action classes, to generate thepersonalized content response to the question.

As further shown in FIG. 4, process 400 may include updating the firstpanel with the personalized content response to generate an updatedfirst panel, wherein the updated first panel and the second panel forman updated dual-panel user interface (block 480). For example, thecontent platform (e.g., using computing resource 220, processor 320,memory 330, and/or the like) may update the first panel with thepersonalized content response to generate an updated first panel, asdescribed above in connection with FIGS. 1A-3. In some implementations,the updated first panel and the second panel may form an updateddual-panel user interface.

As further shown in FIG. 4, process 400 may include providing theupdated dual-panel user interface to the client device (block 490). Forexample, the content platform (e.g., using computing resource 220,processor 320, communication interface 370, and/or the like) may providethe updated dual-panel user interface to the client device, as describedabove in connection with FIGS. 1A-3.

Process 400 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, the content platform may process the specificintent of the question, with the second machine learning model, to mapthe specific intent of the question to a text answer to the question,may add the additional user information to the text answer to generate apersonalized text response to the question, and may update the secondpanel with the personalized text response to generate an updated secondpanel, where the updated first panel and the updated second panel formthe updated dual-panel user interface.

In some implementations, the content platform may provide action classesin placeholders associated with the text answer to generate a modifiedtext answer, and may add the additional user information to the modifiedtext answer, via the action classes, to generate the personalized textresponse to the question.

In some implementations, the content platform may determine a pluralityof template content answers for a plurality of intents and a pluralityof template text answers for the plurality of intents. The contentanswer may be included in the plurality of template content answers, thetext answer may be included in the plurality of template text answers,and the specific intent may be included in the plurality of intents.

In some implementations, the content platform may receive, from theclient device, a request to speak with a live person, and may connectthe client device and another client device associated with the liveperson, via a call, based on the request to speak with the live person.The content platform may provide, to the other client device associatedwith the live person, information received via the first panel and thesecond panel of the dual-panel user interface.

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations may be made inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term “component” is intended to be broadly construedas hardware, firmware, or a combination of hardware and software.

To the extent the aforementioned implementations collect, store, oremploy personal information of individuals, it should be understood thatsuch information shall be used in accordance with all applicable lawsconcerning protection of personal information. Additionally, thecollection, storage, and use of such information can be subject toconsent of the individual to such activity, for example, through wellknown “opt-in” or “opt-out” processes as can be appropriate for thesituation and type of information. Storage and use of personalinformation can be in an appropriately secure manner reflective of thetype of information, for example, through various encryption andanonymization techniques for particularly sensitive information.

A user interface may include a graphical user interface, a non-graphicaluser interface, a text-based user interface, and/or the like. A userinterface may provide information for display. In some implementations,a user may interact with the information, such as by providing input viaan input component of a device that provides the user interface fordisplay. In some implementations, a user interface may be configurableby a device and/or a user (e.g., a user may change the size of the userinterface, information provided via the user interface, a position ofinformation provided via the user interface, etc.). Additionally, oralternatively, a user interface may be pre-configured to a standardconfiguration, a specific configuration based on a type of device onwhich the user interface is displayed, and/or a set of configurationsbased on capabilities and/or specifications associated with a device onwhich the user interface is displayed.

It will be apparent that systems and/or methods described herein may beimplemented in different forms of hardware, firmware, or a combinationof hardware and software. The actual specialized control hardware orsoftware code used to implement these systems and/or methods is notlimiting of the implementations. Thus, the operation and behavior of thesystems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwaremay be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of various implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of various implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Further, asused herein, the article “the” is intended to include one or more itemsreferenced in connection with the article “the” and may be usedinterchangeably with “the one or more.” Furthermore, as used herein, theterm “set” is intended to include one or more items (e.g., relateditems, unrelated items, a combination of related and unrelated items,etc.), and may be used interchangeably with “one or more.” Where onlyone item is intended, the phrase “only one” or similar language is used.Also, as used herein, the terms “has,” “have,” “having,” or the like areintended to be open-ended terms. Further, the phrase “based on” isintended to mean “based, at least in part, on” unless explicitly statedotherwise. Also, as used herein, the term “or” is intended to beinclusive when used in a series and may be used interchangeably with“and/or,” unless explicitly stated otherwise (e.g., if used incombination with “either” or “only one of”).

1. A method, comprising: receiving, by a device and from a clientdevice, a request for content; providing, by the device, the content tothe client device based on the request and via a dual-panel userinterface, wherein the dual-panel user interface includes: a first panelto display the content, and a second panel to display a textconversation; receiving, by the device and from the client device,information indicating a user interaction with the first panel or thesecond panel; processing, by the device, the information indicating theuser interaction, with a first machine learning model, to determine aquestion based on the user interaction; utilizing, by the device,natural language processing with the question to determine a specificintent of the question; processing, by the device, the specific intentof the question, with a second machine learning model, to map thespecific intent of the question to a content answer to the question, thesecond machine learning model to identify the specific intent includedin a plurality of intents and determine the content answer from aplurality of template content answers that correspond with the specificintent; providing, by the device, one or more action classes inplaceholders associated with the content answer to generate a modifiedcontent answer, the one or more action classes to act as a wrap-aroundlogic and provide an interface for receiving information; adding, by thedevice, additional user information, associated with a user of theclient device and received from one or more other systems, to themodified content answer to generate a personalized content response tothe question; updating, by the device, the first panel with thepersonalized content response to generate an updated first panel,wherein the updated first panel and the second panel form an updateddual-panel user interface; and providing, by the device, the updateddual-panel user interface to the client device.
 2. (canceled)
 3. Themethod of claim 1, further comprising: processing the specific intent ofthe question, with the second machine learning model, to map thespecific intent of the question to a text answer to the question; addingthe additional user information to the text answer to generate apersonalized text response to the question; and updating the secondpanel with the personalized text response to generate an updated secondpanel, wherein the updated first panel and the updated second panel formthe updated dual-panel user interface.
 4. The method of claim 3, furthercomprising: providing the one or more action classes in placeholdersassociated with the text answer to generate a modified text answer,wherein adding the additional user information to the text answercomprises: adding the additional user information to the modified textanswer, via the action classes, to generate the personalized textresponse to the question.
 5. The method of claim 1, further comprising:determining the plurality of template content answers for the pluralityof intents.
 6. The method of claim 1, wherein the first panel displaysinformation associated with at least one of: one or more products, orone or more services.
 7. The method of claim 1, wherein the second paneldisplays textual conversations between a chatbot and the user of theclient device.
 8. A device, comprising: one or more memories; and one ormore processors, communicatively coupled to the one or more memories,to: receive, from a client device, a request for content; provide thecontent to the client device based on the request and via a dual-paneluser interface, wherein the dual-panel user interface includes: a firstpanel to display the content, and a second panel to display a textconversation; receive, from the client device, information indicating auser interaction with the first panel or the second panel; process theinformation indicating the user interaction, with a first model, todetermine a question based on the user interaction; process thequestion, with a second model, to determine a specific intent of thequestion; process the specific intent of the question, with a thirdmodel, to map the specific intent of the question to a text answer tothe question, the third model to identify the specific intent includedin a plurality of intents and determine the text answer from a pluralityof template text answers that correspond with the specific intent;provide one or more action classes in placeholders associated with thetext answer to generate a modified text answer, the one or more actionclasses to act as a wrap-around logic and provide an interface forreceiving information; add additional user information, associated witha user of the client device, to the modified text answer to generate apersonalized text response to the question; update the second panel withthe personalized text response to generate an updated second panel,wherein the first panel and the updated second panel form an updateddual-panel user interface; and provide the updated dual-panel userinterface to the client device.
 9. The device of claim 8, wherein theuser interaction includes one or more of: the user of the client deviceinteracting with the first panel via a first gesture, the user of theclient device interacting with the first panel via an input component ofthe client device, the user of the client device providing a first voiceinput via the first panel, the user of the client device interactingwith the second panel via a second gesture, the user of the clientdevice inputting a query via the second panel, or the user of the clientdevice providing a second voice input via the second panel.
 10. Thedevice of claim 8, wherein, when the request for the content includesinformation indicating that the user of the client device desires to beguided, the one or more processors are further to: generate thedual-panel user interface based on the information indicating that theuser of the client device desires to be guided.
 11. The device of claim8, wherein, when the request for the content includes a query providedby the user of the client device, the one or more processors are furtherto: generate the dual-panel user interface based on the query providedby the user of the client device.
 12. The device of claim 8, wherein theone or more processors are further to: receive, from the client device,a request to speak with a live person; and connect the client device andanother client device associated with the live person, via a call, basedon the request to speak with the live person.
 13. The device of claim12, wherein the one or more processors are further to: provide, to theother client device associated with the live person, informationreceived via the first panel and the second panel of the dual-panel userinterface.
 14. The device of claim 8, wherein the one or more processorsare further to: determine the plurality of template text answers for theplurality of intents.
 15. A non-transitory computer-readable mediumstoring instructions, the instructions comprising: one or moreinstructions that, when executed by one or more processors, cause theone or more processors to: provide, to a client device, a dual-paneluser interface that includes: a first panel for displaying content, anda second panel for displaying a text conversation; receive, from theclient device, information indicating a user interaction with the firstpanel or the second panel; process the information indicating the userinteraction, with a first machine learning model, to determine aquestion based on the user interaction; utilize natural languageprocessing with the question to determine a specific intent of thequestion; process the specific intent of the question, with a secondmachine learning model, to map the specific intent of the question to acontent answer to the question and a text answer to the question, thesecond machine learning model to identify the specific intent includedin a plurality of intents and determine the content answer from aplurality of template content answers that correspond with the specificintent; provide one or more action classes in placeholders associatedwith the content answer to generate a modified content answer, the oneor more action classes to act as a wrap-around logic and provide aninterface for receiving information; add additional user information,associated with a user of the client device, to the modified contentanswer to generate a personalized content response to the question; addthe additional user information to the text answer to generate apersonalized text response to the question; update the first panel withthe personalized content response to generate an updated first panel,update the second panel with the personalized text response to generatean updated second panel, wherein the updated first panel and the updatedsecond panel form an updated dual-panel user interface; and provide theupdated dual-panel user interface to the client device.
 16. Thenon-transitory computer-readable medium of claim 15, wherein the firstpanel of the dual-panel user interface is designed to permit the user ofthe client device to interact with the first panel of the dual-paneluser interface, and wherein the second panel of the dual-panel userinterface is designed to permit the user of the client device to providequeries via the second panel of the dual-panel user interface.
 17. Thenon-transitory computer-readable medium of claim 15, wherein theinstructions further comprise: one or more instructions that, whenexecuted by the one or more processors, cause the one or more processorsto: provide the one or more action classes in placeholders associatedwith the text answer to generate a modified text answer, wherein the oneor more instructions, that cause the one or more processors to add theadditional user information to the text answer, cause the one or moreprocessors to: add the additional user information to the modified textanswer, via the action classes, to generate the personalized textresponse to the question.
 18. The non-transitory computer-readablemedium of claim 15, wherein the instructions further comprise: one ormore instructions that, when executed by the one or more processors,cause the one or more processors to: determine a plurality of templatetext answers for the plurality of intents, wherein the text answer isincluded in the plurality of template text answers
 19. Thenon-transitory computer-readable medium of claim 15, wherein theinstructions further comprise: one or more instructions that, whenexecuted by the one or more processors, cause the one or more processorsto: receive information indicating that the user of the client devicedesires to be guided; and generate the dual-panel user interface basedon the information indicating that the user of the client device desiresto be guided.
 20. The non-transitory computer-readable medium of claim15, wherein the instructions further comprise: one or more instructionsthat, when executed by the one or more processors, cause the one or moreprocessors to: receive a query provided by the user of the clientdevice; and generate the dual-panel user interface based on receivingthe query provided by the user of the client device.
 21. The method ofclaim 1, wherein the second machine learning model to determine a textanswer from a plurality of template text answers that correspond withthe specific intent.